package jwts

import (
	"github.com/dgrijalva/jwt-go/v4"
)

/*
	JWT-Token组成部分
		header: 用来指定使用的算法(HMAC SHA256 RSA)和token类型(如JWT)
		payload: 包含声明(要求)，声明通常是用户信息或其他数据的声明，比如用户id，名称，邮箱等. 声明可分为三种: registered,public,private
		signature: 用来保证JWT的真实性，可以使用不同的算法
	JWT认证过程
		基本上整个过程分为两个阶段，第一个阶段，客户端向服务端获取token，第二阶段，客户端带着该token去请求相关的资源.
	session和jwt的异同:
		都可以存储用户相关信息，但是session存储在服务端，JWT存储在客户端
*/

// JwtPayLoad jwt中payLoad数据
type JwtPayLoad struct {
	//Username string `json:"username"` //用户名
	NickName string `json:"nickName"` //昵称
	Role     int    `json:"role"`     //角色
	UserID   uint   `json:"userID"`   //用户id
}
type CustomClaims struct {
	JwtPayLoad
	jwt.StandardClaims
}
